In computing, one type of data storage scheme using multiple hard drives to share or replicate data among the drives is referred to as a RAID system. The acronym RAID stands for redundant array of inexpensive disks, or redundant array of independent disks. Depending on the configuration of the RAID system, typically referred to as the RAID level, the benefit of RAID can include one or more of increased data integrity, fault tolerance, throughput or capacity when compared to single drives. One of the most popular RAID levels is RAID5. RAID5 has achieved popularity due to its low cost of redundancy. RAID systems can combine multiple low cost older technology devices into an array that offers greater capacity, reliability, speed, or a combination thereof, than is affordably available in a single device using the latest technology.
At the simplest level, a RAID system combines multiple hard drives into a single logical unit (or drive). The operating system sees a single logical drive instead of multiple different hard drives. RAID is typically used on server computers and is usually, but not necessarily, implemented with disk drives having the same size. With decreases in hard drive prices and wider availability of RAID options built into motherboard chip sets, RAID can also be found as an option in more advanced personal computers, especially in computers dedicated to storage intensive tasks such as video and audio editing. RAID5 writes are expensive in terms of disk operation and traffic between the disks and the controller.
It would be desirable to have an error recovery scheme for a RAID5 system that reduces the number of IOs and can handle multiple errors on different drives at different sectors.